home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / POV-Ray 3.0.2 / src / SOURCE / LIBPNG / LPFAQ.TXT < prev    next >
Encoding:
Text File  |  1995-08-24  |  6.5 KB  |  190 lines  |  [TEXT/ttxt]

  1. libpng FAQ - August 25, 1995
  2.  
  3. Maintainer:
  4.  
  5. Guy Eric Schalnat: schalnat@group42.com  CompuServe: 75501,1625
  6.  
  7.  
  8. Contents:
  9.  
  10. 1) General Questions
  11. 1.1) How official is this FAQ?
  12. 1.2) How often is this FAQ posted?
  13. 1.3) Where can I get this FAQ, libpng, zlib, the PNG
  14.      specification, test images, etc.?
  15. 1.4) How ready is libpng?
  16. 1.5) How portable is libpng?
  17. 1.6) When will libpng be out of Beta?
  18. 1.7) What remains to be done in libpng for the 1.0 release?
  19. 1.8) Can I help?
  20. 1.9) Why don't you answer your mail?
  21.  
  22. 2) Libpng questions
  23. 2.1) Does the order of functions calls matter?
  24. 2.2) When I try to read/write a png image, it doesn't work.
  25. 2.3) Do I have to start with example.c?
  26. 2.4) What things should I be careful of?
  27. 2.5) Why doesn't example.c compile?
  28.  
  29. 3) Critical Patches
  30. No known bugs (for now :-).
  31.  
  32. 4) Non-critical patches
  33. No known bugs (for now :-).
  34.  
  35.  
  36. Questions:
  37.  
  38. 1) General Questions
  39.  
  40. 1.1) How official is this FAQ?
  41.  
  42. As it was written by the author of libpng (that's me :), it's
  43. about offical as one can get.  However, it is not ready for
  44. prime time yet, as libpng is still in beta, and thus its
  45. users are of the sort that are willing to deal with beta
  46. software.  Thus, I assume all of you reading this have a
  47. basic familiarity with PNG, libpng, and C programming.  I'll
  48. write a basic section for libpng later, as well as some quick
  49. stuff on PNG itself (but this will not be the PNG FAQ.  I just
  50. don't have that kind of time).
  51.  
  52. 1.2) How often is this FAQ posted?
  53.  
  54. As often as events warrant.  I doubt it'll get stale, and as
  55. it is not (and may never be) actually posted to a newsgroup,
  56. I feel no need to make monthy postings.
  57.  
  58. 1.3) Where can I get this FAQ, libpng, zlib, the PNG 
  59. specification, test images, etc.?
  60.  
  61. Everything should be at ftp://ftp.uu.net/graphics/png and
  62. mirror sites.  On CompuServe, it should be at GO GRAPHSUPPORT
  63. in the Png Development library (lib 20).  Failing that, try
  64. my ftp site at ftp://ftp.group42.com/pub/png or web site at
  65. http://www.group42.com/  If you have trouble getting to these,
  66. the numerical address is 204.94.158.25
  67.  
  68. 1.4) How ready is libpng?
  69.  
  70. In its current incarnation (0.81), it still may have a few bugs.
  71. I think I got all of the bugs this time, but one never knows.
  72. Also, the dithering currently in libpng is horrid, so I'll be
  73. improving that before 0.90
  74.  
  75. 1.5) How portable is libpng?
  76.  
  77. As portable as I can make it.  It needs int's of at least
  78. 16 bits, and longs of at least 32 bits.  It has not been
  79. tried for char's larger then 8 bits.  It should support
  80. any reasonable K&R C compiler, as well as any ANSI C
  81. compiler.  The most you should need to do is change the
  82. includes in pngconf.h.  So far, I know of no compiler in use
  83. that libpng will not compile on.
  84.  
  85. 1.6) When will libpng be out of Beta?
  86.  
  87. That depends on my workload here.  I'm writing libpng for
  88. free, which generates tons of good will, but doesn't help
  89. put food on the table, so there are times I just can't do
  90. any real work on it.  There is still some work to be done
  91. (see question 1.7), so don't expect the official version
  92. before September (and that may be pushing it).  I'll try
  93. to get the next (last?) beta version out my early
  94. September.  Be warned, I always seem to take twice as
  95. long as I think I will.
  96.  
  97. 1.7) What remains to be done in libpng for the 1.0 release?
  98.  
  99. Improve the dithering.
  100. Rewrite libpng.txt, and comment the code better.
  101. Test with a final zlib.
  102.  
  103. 1.8) Can I help?
  104.  
  105. Sweet words.  The most helpful thing you can do for the
  106. 1.0 release is help testing on your compiler.  After this
  107. release, though, there is a large list of things that ought
  108. to be done to make libpng be more full featured.  We'll
  109. talk about this later, as I don't want to add tons of new
  110. code until after 1.0 gets out the door.  Please send me
  111. any makefile changes and/or other changes needed to support
  112. your compiler (with a #ifdef for the code changes).
  113.  
  114. If any of you are good at technical writing, take a look at
  115. libpng.txt and correct it (or rewrite it) as necessary.  I
  116. am not a writer, I'm a programmer.  It shows.
  117.  
  118. 1.9) Why don't you answer your mail?
  119.  
  120. I've been busy.  I'm sorry about that, and I've got to get
  121. into the habit of at least replying that I got the message.
  122. Also, some of you have sent me problems that I haven't gotten
  123. back to you yet.  If it is still a problem, you may want to
  124. give me a short message and remind me that I need to look into
  125. it.  Libpng is being tested by more people than I dared hope
  126. (which is a good thing), and I was unprepared to deal with so
  127. many problems so soon.
  128.  
  129.  
  130. 2) Libpng questions
  131.  
  132. 2.1) Does the order of functions calls matter?
  133.  
  134. In general, yes.  If you stick with the order I used in libpng.txt
  135. and example.c, you should be safe.  Be warned, however, that I
  136. messed up the order of png_set_interlace_handling().  It needs
  137. to be called *before* png_start_read_image(), not after.  Oops.
  138. The exceptions to this rule are all the png_set ... calls.
  139. They can be done in any order, but they all have to be done
  140. in the area indicated by libpng.txt/example.c.
  141.  
  142. 2.2) When I try to read/write a png image, it doesn't work.
  143.  
  144. Does zlib's test program work (example.c)?  Does libpng's test
  145. program work (testpng.c)?  Have you installed the patches at
  146. the end of this FAQ?  After all that, if the problem continues,
  147. e-mail me, and we'll try to fix it.  If you don't have much 
  148. programming experience, be patient about the fix.  Code
  149. fragments help, as do *small* images (uuencoded please).  If
  150. I don't get back to you right away, give me some time.  Thanks.
  151.  
  152. 2.3) Do I have to start with example.c?
  153.  
  154. No, but most people have had much better luck doing that.  Seems
  155. I didn't explain things well in libpng.txt, so things are not
  156. intuitive to people (which could be an api design problem also).
  157. Sometime in the future, we'll revisit the api design, and try
  158. to make it easier to use.  I'll rewrite libpng.txt before the
  159. 1.0 release.
  160.  
  161. 2.4) What things should I be careful of?
  162.  
  163. The main gotcha is calling png_read_init() before png_info_init().
  164. Also, always make sure you have a correct setjmp buffer.  That's
  165. all I can think of for now.
  166.  
  167. 2.5) Why doesn't example.c compile?
  168.  
  169. I wrote example.c as a staring point for using libpng.  It doesn't
  170. compile because I don't know how you want to do things like allocating
  171. memory to hold the image, so I left that code out.  If you go in and
  172. finish it up, it should work fine.  The file pngtest.c gives a
  173. very simple example of reading and writing png files.
  174.  
  175.  
  176. 3) Critical Patches
  177.  
  178. No known bugs (for now :-).
  179.  
  180.  
  181. 4) Non-critical patches
  182.  
  183. No known bugs (for now :-).
  184.  
  185.  
  186. That's it so far as I know.  If I missed something, yell.
  187.  
  188. -Guy
  189.  
  190.